#ifndef TORREMALDITONA_H_
#define TORREMALDITONA_H_

#include "../includes/pilha.hpp"
#include "../includes/error.h"

class torreMalditona
{
public:
	
	torreMalditona();
	
	torreMalditona( unsigned short int);
	
	~torreMalditona();
	
	void
	moveRing( unsigned short int , unsigned short int );
	
	void
	restartGame( unsigned short int );
	
	std::vector<unsigned short int>
	getPinStats( unsigned short int );
	
	bool
	checkWin();
	
private:
	
	void
	resetPins();
	
	void
	insertRing( const unsigned short int , const unsigned short int );
	
	void
	throwException( const std::string );
	
	unsigned short int
	ringCount;
	
	pilha<unsigned short int>
	firstPin;
	
	pilha<unsigned short int>
	secondPin;
	
	pilha<unsigned short int>
	thirdPin;
	
};

#endif /*TORREMALDITONA_H_*/
